
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>search</title>
</head>
<body>

<script>
    var doNotTrack = false;
    if (!doNotTrack) {
        window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
        ga('create', 'UA-158679036-5', 'auto');
        ga('send', 'pageview');
    }
    var slug_to_url = {"linked-list-cycle": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "linked-list-cycle-ii": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "intersection-of-two-linked-lists": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "remove-nth-node-from-end-of-list": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "merge-two-sorted-lists": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "merge-k-sorted-lists": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "partition-list": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "middle-of-the-linked-list": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "lian-biao-zhong-dao-shu-di-kge-jie-dian-lcof": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "he-bing-liang-ge-pai-xu-de-lian-biao-lcof": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "liang-ge-lian-biao-de-di-yi-ge-gong-gong-jie-dian-lcof": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "SLwz0R": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "c32eOV": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "3u1WK4": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "vvXgSW": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "two-sum-ii-input-array-is-sorted": "https://labuladong.online/algo/practice-in-action/nsum/", "remove-duplicates-from-sorted-array": "https://labuladong.online/algo/essential-technique/array-two-pointers-summary/", "remove-element": "https://labuladong.online/algo/essential-technique/array-two-pointers-summary/", "move-zeroes": "https://labuladong.online/algo/essential-technique/array-two-pointers-summary/", "reverse-string": "https://labuladong.online/algo/essential-technique/array-two-pointers-summary/", "longest-palindromic-substring": "https://labuladong.online/algo/essential-technique/array-two-pointers-summary/", "remove-duplicates-from-sorted-list": "https://labuladong.online/algo/essential-technique/array-two-pointers-summary/", "he-wei-sde-liang-ge-shu-zi-lcof": "https://labuladong.online/algo/essential-technique/array-two-pointers-summary/", "kLl5u1": "https://labuladong.online/algo/essential-technique/array-two-pointers-summary/", "maximum-depth-of-binary-tree": "https://labuladong.online/algo/essential-technique/binary-tree-summary/", "binary-tree-preorder-traversal": "https://labuladong.online/algo/essential-technique/binary-tree-summary/", "diameter-of-binary-tree": "https://labuladong.online/algo/essential-technique/binary-tree-summary/", "er-cha-shu-de-shen-du-lcof": "https://labuladong.online/algo/essential-technique/binary-tree-summary/", "coin-change": "https://labuladong.online/algo/essential-technique/dynamic-programming-framework/", "fibonacci-number": "https://labuladong.online/algo/essential-technique/dynamic-programming-framework/", "gaM7Ch": "https://labuladong.online/algo/essential-technique/dynamic-programming-framework/", "permutations": "https://labuladong.online/algo/practice-in-action/two-views-of-backtrack/", "n-queens": "https://labuladong.online/algo/essential-technique/backtrack-framework/", "n-queens-ii": "https://labuladong.online/algo/essential-technique/backtrack-framework/", "VvJkup": "https://labuladong.online/algo/practice-in-action/two-views-of-backtrack/", "combination-sum-iii": "https://labuladong.online/algo/essential-technique/permutation-combination-subset-all-in-one/", "combination-sum": "https://labuladong.online/algo/essential-technique/permutation-combination-subset-all-in-one/", "combination-sum-ii": "https://labuladong.online/algo/essential-technique/permutation-combination-subset-all-in-one/", "permutations-ii": "https://labuladong.online/algo/essential-technique/permutation-combination-subset-all-in-one/", "combinations": "https://labuladong.online/algo/essential-technique/permutation-combination-subset-all-in-one/", "subsets": "https://labuladong.online/algo/practice-in-action/two-views-of-backtrack/", "subsets-ii": "https://labuladong.online/algo/essential-technique/permutation-combination-subset-all-in-one/", "TVdhkn": "https://labuladong.online/algo/practice-in-action/two-views-of-backtrack/", "uUsW3B": "https://labuladong.online/algo/essential-technique/permutation-combination-subset-all-in-one/", "Ygoe9J": "https://labuladong.online/algo/essential-technique/permutation-combination-subset-all-in-one/", "4sjJUc": "https://labuladong.online/algo/essential-technique/permutation-combination-subset-all-in-one/", "7p8L0Z": "https://labuladong.online/algo/essential-technique/permutation-combination-subset-all-in-one/", "minimum-depth-of-binary-tree": "https://labuladong.online/algo/essential-technique/bfs-framework/", "open-the-lock": "https://labuladong.online/algo/essential-technique/bfs-framework/", "zlDJc7": "https://labuladong.online/algo/essential-technique/bfs-framework/", "find-first-and-last-position-of-element-in-sorted-array": "https://labuladong.online/algo/essential-technique/binary-search-framework/", "binary-search": "https://labuladong.online/algo/essential-technique/binary-search-framework/", "zai-pai-xu-shu-zu-zhong-cha-zhao-shu-zi-lcof": "https://labuladong.online/algo/essential-technique/binary-search-framework/", "longest-substring-without-repeating-characters": "https://labuladong.online/algo/essential-technique/sliding-window-framework/", "find-all-anagrams-in-a-string": "https://labuladong.online/algo/essential-technique/sliding-window-framework/", "permutation-in-string": "https://labuladong.online/algo/essential-technique/sliding-window-framework/", "minimum-window-substring": "https://labuladong.online/algo/essential-technique/sliding-window-framework/", "zui-chang-bu-han-zhong-fu-zi-fu-de-zi-zi-fu-chuan-lcof": "https://labuladong.online/algo/essential-technique/sliding-window-framework/", "MPnaiL": "https://labuladong.online/algo/essential-technique/sliding-window-framework/", "VabMRr": "https://labuladong.online/algo/essential-technique/sliding-window-framework/", "wtcaE1": "https://labuladong.online/algo/essential-technique/sliding-window-framework/", "M1oyTv": "https://labuladong.online/algo/essential-technique/sliding-window-framework/", "reverse-linked-list": "https://labuladong.online/algo/data-structure/reverse-linked-list-recursion/", "reverse-linked-list-ii": "https://labuladong.online/algo/data-structure/reverse-linked-list-recursion/", "fan-zhuan-lian-biao-lcof": "https://labuladong.online/algo/data-structure/reverse-linked-list-recursion/", "UHnkqh": "https://labuladong.online/algo/data-structure/reverse-linked-list-recursion/", "reverse-nodes-in-k-group": "https://labuladong.online/algo/data-structure/reverse-nodes-in-k-group/", "palindrome-linked-list": "https://labuladong.online/algo/data-structure/palindrome-linked-list/", "aMhZSa": "https://labuladong.online/algo/data-structure/palindrome-linked-list/", "two-sum": "https://labuladong.online/algo/practice-in-action/nsum/", "3sum": "https://labuladong.online/algo/practice-in-action/nsum/", "4sum": "https://labuladong.online/algo/practice-in-action/nsum/", "1fGaJU": "https://labuladong.online/algo/practice-in-action/nsum/", "range-sum-query-immutable": "https://labuladong.online/algo/data-structure/prefix-sum/", "range-sum-query-2d-immutable": "https://labuladong.online/algo/data-structure/prefix-sum/", "O4NDxx": "https://labuladong.online/algo/data-structure/prefix-sum/", "car-pooling": "https://labuladong.online/algo/data-structure/diff-array/", "corporate-flight-bookings": "https://labuladong.online/algo/data-structure/diff-array/", "range-addition": "https://labuladong.online/algo/data-structure/diff-array/", "reverse-words-in-a-string": "https://labuladong.online/algo/practice-in-action/2d-array-traversal-summary/", "rotate-image": "https://labuladong.online/algo/practice-in-action/2d-array-traversal-summary/", "spiral-matrix": "https://labuladong.online/algo/practice-in-action/2d-array-traversal-summary/", "spiral-matrix-ii": "https://labuladong.online/algo/practice-in-action/2d-array-traversal-summary/", "rotate-list": "https://labuladong.online/algo/practice-in-action/2d-array-traversal-summary/", "shun-shi-zhen-da-yin-ju-zhen-lcof": "https://labuladong.online/algo/practice-in-action/2d-array-traversal-summary/", "fan-zhuan-dan-ci-shun-xu-lcof": "https://labuladong.online/algo/practice-in-action/2d-array-traversal-summary/", "repeated-dna-sequences": "https://labuladong.online/algo/practice-in-action/rabinkarp/", "find-the-index-of-the-first-occurrence-in-a-string": "https://labuladong.online/algo/other-skills/kmp/", "capacity-to-ship-packages-within-d-days": "https://labuladong.online/algo/frequency-interview/binary-search-in-action/", "split-array-largest-sum": "https://labuladong.online/algo/frequency-interview/binary-search-in-action/", "koko-eating-bananas": "https://labuladong.online/algo/frequency-interview/binary-search-in-action/", "nZZqjQ": "https://labuladong.online/algo/frequency-interview/binary-search-in-action/", "random-pick-with-weight": "https://labuladong.online/algo/frequency-interview/random-pick-with-weight/", "cuyjEf": "https://labuladong.online/algo/frequency-interview/random-pick-with-weight/", "advantage-shuffle": "https://labuladong.online/algo/practice-in-action/advantage-shuffle/", "insert-delete-getrandom-o1": "https://labuladong.online/algo/data-structure/random-set/", "random-pick-with-blacklist": "https://labuladong.online/algo/data-structure/random-set/", "FortPu": "https://labuladong.online/algo/data-structure/random-set/", "smallest-subsequence-of-distinct-characters": "https://labuladong.online/algo/frequency-interview/remove-duplicate-letters/", "remove-duplicate-letters": "https://labuladong.online/algo/frequency-interview/remove-duplicate-letters/", "flatten-binary-tree-to-linked-list": "https://labuladong.online/algo/data-structure/binary-tree-part1/", "populating-next-right-pointers-in-each-node": "https://labuladong.online/algo/data-structure/binary-tree-part1/", "invert-binary-tree": "https://labuladong.online/algo/data-structure/binary-tree-part1/", "er-cha-shu-de-jing-xiang-lcof": "https://labuladong.online/algo/data-structure/binary-tree-part1/", "construct-binary-tree-from-preorder-and-inorder-traversal": "https://labuladong.online/algo/data-structure/binary-tree-part2/", "construct-binary-tree-from-inorder-and-postorder-traversal": "https://labuladong.online/algo/data-structure/binary-tree-part2/", "maximum-binary-tree": "https://labuladong.online/algo/data-structure/binary-tree-part2/", "construct-binary-tree-from-preorder-and-postorder-traversal": "https://labuladong.online/algo/data-structure/binary-tree-part2/", "zhong-jian-er-cha-shu-lcof": "https://labuladong.online/algo/data-structure/binary-tree-part2/", "find-duplicate-subtrees": "https://labuladong.online/algo/data-structure/binary-tree-part3/", "serialize-and-deserialize-binary-tree": "https://labuladong.online/algo/data-structure/serialize-and-deserialize-binary-tree/", "xu-lie-hua-er-cha-shu-lcof": "https://labuladong.online/algo/data-structure/serialize-and-deserialize-binary-tree/", "h54YBf": "https://labuladong.online/algo/data-structure/serialize-and-deserialize-binary-tree/", "count-of-smaller-numbers-after-self": "https://labuladong.online/algo/practice-in-action/merge-sort/", "count-of-range-sum": "https://labuladong.online/algo/practice-in-action/merge-sort/", "reverse-pairs": "https://labuladong.online/algo/practice-in-action/merge-sort/", "sort-an-array": "https://labuladong.online/algo/practice-in-action/quick-sort/", "binary-search-tree-to-greater-sum-tree": "https://labuladong.online/algo/data-structure/bst-part1/", "kth-smallest-element-in-a-bst": "https://labuladong.online/algo/data-structure/bst-part1/", "convert-bst-to-greater-tree": "https://labuladong.online/algo/data-structure/bst-part1/", "w6cpku": "https://labuladong.online/algo/data-structure/bst-part1/", "delete-node-in-a-bst": "https://labuladong.online/algo/data-structure/bst-part2/", "search-in-a-binary-search-tree": "https://labuladong.online/algo/data-structure/bst-part2/", "insert-into-a-binary-search-tree": "https://labuladong.online/algo/data-structure/bst-part2/", "validate-binary-search-tree": "https://labuladong.online/algo/data-structure/bst-part2/", "unique-binary-search-trees-ii": "https://labuladong.online/algo/data-structure/bst-part3/", "unique-binary-search-trees": "https://labuladong.online/algo/data-structure/bst-part3/", "kth-largest-element-in-an-array": "https://labuladong.online/algo/practice-in-action/quick-sort/", "xx4gT2": "https://labuladong.online/algo/practice-in-action/quick-sort/", "flatten-nested-list-iterator": "https://labuladong.online/algo/data-structure/flatten-nested-list-iterator/", "lowest-common-ancestor-of-a-binary-tree-ii": "https://labuladong.online/algo/practice-in-action/lowest-common-ancestor-summary/", "lowest-common-ancestor-of-a-binary-tree-iii": "https://labuladong.online/algo/practice-in-action/lowest-common-ancestor-summary/", "lowest-common-ancestor-of-a-binary-tree-iv": "https://labuladong.online/algo/practice-in-action/lowest-common-ancestor-summary/", "lowest-common-ancestor-of-a-binary-search-tree": "https://labuladong.online/algo/practice-in-action/lowest-common-ancestor-summary/", "lowest-common-ancestor-of-a-binary-tree": "https://labuladong.online/algo/practice-in-action/lowest-common-ancestor-summary/", "er-cha-sou-suo-shu-de-zui-jin-gong-gong-zu-xian-lcof": "https://labuladong.online/algo/practice-in-action/lowest-common-ancestor-summary/", "er-cha-shu-de-zui-jin-gong-gong-zu-xian-lcof": "https://labuladong.online/algo/practice-in-action/lowest-common-ancestor-summary/", "count-complete-tree-nodes": "https://labuladong.online/algo/data-structure/count-complete-tree-nodes/", "implement-stack-using-queues": "https://labuladong.online/algo/data-structure/stack-queue/", "implement-queue-using-stacks": "https://labuladong.online/algo/data-structure/stack-queue/", "yong-liang-ge-zhan-shi-xian-dui-lie-lcof": "https://labuladong.online/algo/data-structure/stack-queue/", "next-greater-element-i": "https://labuladong.online/algo/data-structure/monotonic-stack/", "next-greater-element-ii": "https://labuladong.online/algo/data-structure/monotonic-stack/", "daily-temperatures": "https://labuladong.online/algo/data-structure/monotonic-stack/", "iIQa4I": "https://labuladong.online/algo/data-structure/monotonic-stack/", "sliding-window-maximum": "https://labuladong.online/algo/data-structure/monotonic-queue/", "hua-dong-chuang-kou-de-zui-da-zhi-lcof": "https://labuladong.online/algo/data-structure/monotonic-queue/", "dui-lie-de-zui-da-zhi-lcof": "https://labuladong.online/algo/data-structure/monotonic-queue/", "lru-cache": "https://labuladong.online/algo/data-structure/lru-cache/", "OrIXps": "https://labuladong.online/algo/data-structure/lru-cache/", "lfu-cache": "https://labuladong.online/algo/frequency-interview/lfu/", "implement-trie-ii-prefix-tree": "https://labuladong.online/algo/data-structure/trie/", "implement-trie-prefix-tree": "https://labuladong.online/algo/data-structure/trie/", "design-add-and-search-words-data-structure": "https://labuladong.online/algo/data-structure/trie/", "replace-words": "https://labuladong.online/algo/data-structure/trie/", "map-sum-pairs": "https://labuladong.online/algo/data-structure/trie/", "QC3q1f": "https://labuladong.online/algo/data-structure/trie/", "UhWRSj": "https://labuladong.online/algo/data-structure/trie/", "z1R5dt": "https://labuladong.online/algo/data-structure/trie/", "find-median-from-data-stream": "https://labuladong.online/algo/practice-in-action/find-median-from-data-stream/", "shu-ju-liu-zhong-de-zhong-wei-shu-lcof": "https://labuladong.online/algo/practice-in-action/find-median-from-data-stream/", "design-twitter": "https://labuladong.online/algo/data-structure/design-twitter/", "all-paths-from-source-to-target": "https://labuladong.online/algo/data-structure/graph-traverse/", "bP4bmD": "https://labuladong.online/algo/data-structure/graph-traverse/", "find-the-celebrity": "https://labuladong.online/algo/frequency-interview/find-celebrity/", "course-schedule": "https://labuladong.online/algo/data-structure/topological-sort/", "course-schedule-ii": "https://labuladong.online/algo/data-structure/topological-sort/", "QA2IGt": "https://labuladong.online/algo/data-structure/topological-sort/", "is-graph-bipartite": "https://labuladong.online/algo/data-structure/bipartite-graph/", "possible-bipartition": "https://labuladong.online/algo/data-structure/bipartite-graph/", "vEAB3K": "https://labuladong.online/algo/data-structure/bipartite-graph/", "surrounded-regions": "https://labuladong.online/algo/data-structure/union-find/", "number-of-connected-components-in-an-undirected-graph": "https://labuladong.online/algo/data-structure/union-find/", "satisfiability-of-equality-equations": "https://labuladong.online/algo/data-structure/union-find/", "connecting-cities-with-minimum-cost": "https://labuladong.online/algo/data-structure/prim/", "min-cost-to-connect-all-points": "https://labuladong.online/algo/data-structure/prim/", "graph-valid-tree": "https://labuladong.online/algo/data-structure/kruskal/", "path-with-maximum-probability": "https://labuladong.online/algo/data-structure/dijkstra/", "path-with-minimum-effort": "https://labuladong.online/algo/data-structure/dijkstra/", "network-delay-time": "https://labuladong.online/algo/data-structure/dijkstra/", "longest-increasing-subsequence": "https://labuladong.online/algo/dynamic-programming/longest-increasing-subsequence/", "russian-doll-envelopes": "https://labuladong.online/algo/dynamic-programming/longest-increasing-subsequence/", "minimum-falling-path-sum": "https://labuladong.online/algo/dynamic-programming/memo-fundamental/", "distinct-subsequences": "https://labuladong.online/algo/dynamic-programming/two-views-of-dp/", "21dk04": "https://labuladong.online/algo/dynamic-programming/two-views-of-dp/", "word-break": "https://labuladong.online/algo/dynamic-programming/word-break/", "word-break-ii": "https://labuladong.online/algo/dynamic-programming/word-break/", "edit-distance": "https://labuladong.online/algo/dynamic-programming/edit-distance/", "maximum-subarray": "https://labuladong.online/algo/dynamic-programming/maximum-subarray/", "lian-xu-zi-shu-zu-de-zui-da-he-lcof": "https://labuladong.online/algo/dynamic-programming/maximum-subarray/", "longest-common-subsequence": "https://labuladong.online/algo/dynamic-programming/longest-common-subsequence/", "delete-operation-for-two-strings": "https://labuladong.online/algo/dynamic-programming/longest-common-subsequence/", "minimum-ascii-delete-sum-for-two-strings": "https://labuladong.online/algo/dynamic-programming/longest-common-subsequence/", "qJnOS7": "https://labuladong.online/algo/dynamic-programming/longest-common-subsequence/", "minimum-insertion-steps-to-make-a-string-palindrome": "https://labuladong.online/algo/dynamic-programming/subsequence-problem/", "longest-palindromic-subsequence": "https://labuladong.online/algo/dynamic-programming/subsequence-problem/", "partition-equal-subset-sum": "https://labuladong.online/algo/dynamic-programming/knapsack2/", "NUPfPr": "https://labuladong.online/algo/dynamic-programming/knapsack2/", "coin-change-ii": "https://labuladong.online/algo/dynamic-programming/knapsack3/", "target-sum": "https://labuladong.online/algo/dynamic-programming/target-sum/", "YaVDxD": "https://labuladong.online/algo/dynamic-programming/target-sum/", "minimum-path-sum": "https://labuladong.online/algo/dynamic-programming/minimum-path-sum/", "0i0mDW": "https://labuladong.online/algo/dynamic-programming/minimum-path-sum/", "dungeon-game": "https://labuladong.online/algo/dynamic-programming/magic-tower/", "freedom-trail": "https://labuladong.online/algo/dynamic-programming/freedom-trail/", "cheapest-flights-within-k-stops": "https://labuladong.online/algo/dynamic-programming/cheap-travel/", "regular-expression-matching": "https://labuladong.online/algo/dynamic-programming/regular-expression-matching/", "zheng-ze-biao-da-shi-pi-pei-lcof": "https://labuladong.online/algo/dynamic-programming/regular-expression-matching/", "super-egg-drop": "https://labuladong.online/algo/dynamic-programming/egg-drop/", "burst-balloons": "https://labuladong.online/algo/dynamic-programming/burst-balloons/", "predict-the-winner": "https://labuladong.online/algo/dynamic-programming/game-theory/", "stone-game": "https://labuladong.online/algo/frequency-interview/one-line-solutions/", "4-keys-keyboard": "https://labuladong.online/algo/dynamic-programming/four-keyboard/", "house-robber": "https://labuladong.online/algo/dynamic-programming/house-robber/", "house-robber-ii": "https://labuladong.online/algo/dynamic-programming/house-robber/", "house-robber-iii": "https://labuladong.online/algo/dynamic-programming/house-robber/", "Gu0c2T": "https://labuladong.online/algo/dynamic-programming/house-robber/", "PzWKhm": "https://labuladong.online/algo/dynamic-programming/house-robber/", "best-time-to-buy-and-sell-stock": "https://labuladong.online/algo/dynamic-programming/stock-problem-summary/", "best-time-to-buy-and-sell-stock-ii": "https://labuladong.online/algo/dynamic-programming/stock-problem-summary/", "best-time-to-buy-and-sell-stock-iii": "https://labuladong.online/algo/dynamic-programming/stock-problem-summary/", "best-time-to-buy-and-sell-stock-iv": "https://labuladong.online/algo/dynamic-programming/stock-problem-summary/", "best-time-to-buy-and-sell-stock-with-cooldown": "https://labuladong.online/algo/dynamic-programming/stock-problem-summary/", "best-time-to-buy-and-sell-stock-with-transaction-fee": "https://labuladong.online/algo/dynamic-programming/stock-problem-summary/", "gu-piao-de-zui-da-li-run-lcof": "https://labuladong.online/algo/dynamic-programming/stock-problem-summary/", "gas-station": "https://labuladong.online/algo/frequency-interview/gas-station-greedy/", "non-overlapping-intervals": "https://labuladong.online/algo/frequency-interview/interval-scheduling/", "minimum-number-of-arrows-to-burst-balloons": "https://labuladong.online/algo/frequency-interview/interval-scheduling/", "meeting-rooms-ii": "https://labuladong.online/algo/frequency-interview/scan-line-technique/", "video-stitching": "https://labuladong.online/algo/frequency-interview/cut-video/", "jump-game-ii": "https://labuladong.online/algo/frequency-interview/jump-game-summary/", "jump-game": "https://labuladong.online/algo/frequency-interview/jump-game-summary/", "number-of-enclaves": "https://labuladong.online/algo/frequency-interview/island-dfs-summary/", "number-of-closed-islands": "https://labuladong.online/algo/frequency-interview/island-dfs-summary/", "count-sub-islands": "https://labuladong.online/algo/frequency-interview/island-dfs-summary/", "number-of-islands": "https://labuladong.online/algo/frequency-interview/island-dfs-summary/", "number-of-distinct-islands": "https://labuladong.online/algo/frequency-interview/island-dfs-summary/", "max-area-of-island": "https://labuladong.online/algo/frequency-interview/island-dfs-summary/", "ZL6zAn": "https://labuladong.online/algo/frequency-interview/island-dfs-summary/", "sudoku-solver": "https://labuladong.online/algo/practice-in-action/sudoku/", "generate-parentheses": "https://labuladong.online/algo/practice-in-action/generate-parentheses/", "IDBivT": "https://labuladong.online/algo/practice-in-action/generate-parentheses/", "partition-to-k-equal-sum-subsets": "https://labuladong.online/algo/practice-in-action/partition-to-k-equal-sum-subsets/", "sliding-puzzle": "https://labuladong.online/algo/practice-in-action/sliding-puzzle/", "nim-game": "https://labuladong.online/algo/frequency-interview/one-line-solutions/", "bulb-switcher": "https://labuladong.online/algo/frequency-interview/one-line-solutions/", "single-number": "https://labuladong.online/algo/frequency-interview/bitwise-operation/", "number-of-1-bits": "https://labuladong.online/algo/frequency-interview/bitwise-operation/", "power-of-two": "https://labuladong.online/algo/frequency-interview/bitwise-operation/", "missing-number": "https://labuladong.online/algo/frequency-interview/bitwise-operation/", "er-jin-zhi-zhong-1de-ge-shu-lcof": "https://labuladong.online/algo/frequency-interview/bitwise-operation/", "linked-list-random-node": "https://labuladong.online/algo/frequency-interview/random-algorithm/", "shuffle-an-array": "https://labuladong.online/algo/practice-in-action/shuffle-algorithm/", "random-pick-index": "https://labuladong.online/algo/frequency-interview/random-algorithm/", "factorial-trailing-zeroes": "https://labuladong.online/algo/frequency-interview/factorial-problems/", "preimage-size-of-factorial-zeroes-function": "https://labuladong.online/algo/frequency-interview/factorial-problems/", "count-primes": "https://labuladong.online/algo/frequency-interview/print-prime-number/", "super-pow": "https://labuladong.online/algo/frequency-interview/quick-power/", "set-mismatch": "https://labuladong.online/algo/frequency-interview/mismatch-set/", "ugly-number-iii": "https://labuladong.online/algo/frequency-interview/ugly-number-summary/", "ugly-number": "https://labuladong.online/algo/frequency-interview/ugly-number-summary/", "ugly-number-ii": "https://labuladong.online/algo/frequency-interview/ugly-number-summary/", "super-ugly-number": "https://labuladong.online/algo/frequency-interview/ugly-number-summary/", "chou-shu-lcof": "https://labuladong.online/algo/frequency-interview/ugly-number-summary/", "different-ways-to-add-parentheses": "https://labuladong.online/algo/practice-in-action/divide-and-conquer/", "remove-covered-intervals": "https://labuladong.online/algo/practice-in-action/interval-problem-summary/", "merge-intervals": "https://labuladong.online/algo/practice-in-action/interval-problem-summary/", "interval-list-intersections": "https://labuladong.online/algo/practice-in-action/interval-problem-summary/", "SsGoHC": "https://labuladong.online/algo/practice-in-action/interval-problem-summary/", "split-array-into-consecutive-subsequences": "https://labuladong.online/algo/practice-in-action/split-array-into-consecutive-subsequences/", "pancake-sorting": "https://labuladong.online/algo/frequency-interview/pancake-sorting/", "multiply-strings": "https://labuladong.online/algo/practice-in-action/multiply-strings/", "basic-calculator": "https://labuladong.online/algo/data-structure/implement-calculator/", "basic-calculator-ii": "https://labuladong.online/algo/data-structure/implement-calculator/", "basic-calculator-iii": "https://labuladong.online/algo/data-structure/implement-calculator/", "container-with-most-water": "https://labuladong.online/algo/frequency-interview/trapping-rain-water/", "trapping-rain-water": "https://labuladong.online/algo/frequency-interview/trapping-rain-water/", "minimum-insertions-to-balance-a-parentheses-string": "https://labuladong.online/algo/frequency-interview/bracket-problems-summary/", "valid-parentheses": "https://labuladong.online/algo/frequency-interview/bracket-problems-summary/", "minimum-add-to-make-parentheses-valid": "https://labuladong.online/algo/frequency-interview/bracket-problems-summary/", "perfect-rectangle": "https://labuladong.online/algo/frequency-interview/perfect-rectangle/", "flood-fill": "https://labuladong.online/algo/", "is-subsequence": "https://labuladong.online/algo/frequency-interview/binary-search-subsequence/", "number-of-matching-subsequences": "https://labuladong.online/algo/frequency-interview/binary-search-subsequence/", "exam-room": "https://labuladong.online/algo/frequency-interview/exam-room/", "maximum-frequency-stack": "https://labuladong.online/algo/frequency-interview/max-stack/", "maximum-sum-bst-in-binary-tree": "https://labuladong.online/algo/data-structure/postorder-traversal/"};
   function getQueryVariable(variable) {
       var query = window.location.search.substring(1);
       var vars = query.split("&");
       for (var i = 0; i < vars.length; i++) {
           var pair = vars[i].split("=");
           if (pair[0] === variable) {
               return pair[1];
           }
       }
       return false;
   }

   var slug = getQueryVariable("slug")
   var host = window.location.host;
   var homeUrl = "https://labuladong.online/algo/"
   var targetUrl = slug_to_url[slug] || homeUrl
   window.location.replace(targetUrl)
</script>
</body>
</html>
